package code.google.jcontainer.support.intercept;

import code.google.jcontainer.annotation.Resolve;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * Used to annotated on a method, indicate that this method needs to be intercepted before&after invoke <br>
 * NOTE: the component must implement {@link code.google.jcontainer.support.intercept.Interceptable}
 *
 * @author <a href="mailto:jfox.young@gmail.com">Young Yang</a>
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Resolve(when = {Resolve.WHEN.BEFORE_METHOD, Resolve.WHEN.AFTER_METHOD},resolverClass = InterceptMethodAnnotationResolver.class)
public @interface Intercept {

}
